/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 translation_animation.h

	$Header: /heroes4/translation_animation.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( TRANSLATION_ANIMATION_H_INCLUDED )
#define TRANSLATION_ANIMATION_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "counted_animation.h"
#include "counted_idle_processor.h"
#include "map_point.h"

class t_combat_creature;
// ------------------------------------------------------------------------
// play an animation which shows the creature sliding to a new position
// ------------------------------------------------------------------------
class t_translation_animation : public t_counted_idle_processor, public t_counted_animation
{
public:
	t_translation_animation( t_combat_creature& creature, t_map_point_3d const& destination );
	virtual void on_idle();
protected:
	t_combat_creature&	m_creature;
	t_map_point_3d		m_destination;
	t_map_point_3d		m_delta;
	int					m_frames;
	t_map_point_3d		m_origin;
	t_map_point_3d		m_sum;
};

typedef t_counted_ptr< t_translation_animation > t_translation_animation_ptr;

#endif // TRANSLATION_ANIMATION_H_INCLUDED